Algorithm for power drive speed control

ABSTRACT

A control system for a self-propelled patient-support apparatus includes a controller that utilizes a power drive speed control algorithm to control the power output to a motor of a drive mechanism for driving the patient-support apparatus across a floor. The control algorithm normalizes a force input by a user on a user input device, the force indicative of a desired drive speed. The algorithm varies the responsiveness of the output to the drive mechanism based on the current operating conditions of the drive mechanism.

BACKGROUND OF THE INVENTION

The present disclosure is related to a control system for a power drivespeed control for a self-propelled patient-support apparatus.

In a clinical environment such as a hospital, for example, the use ofself-propelled patient-support apparatuses helps reduce the potentialfor injury to caregivers by limiting the amount of force required tomove a patient-support apparatus throughout the hospital. Suchapparatuses include a drive mechanism employing a motorized wheel ortrack which deploys from a frame to contact the floor. When not in use,the drive mechanism is stowed within the confines of the frame.Activation of the drive mechanism causes the drive mechanism to loweruntil the wheel or track contacts the floor. Operation of the drivemechanism is controlled by a user from a user interface positioned at ahead end or foot end of the patient-support apparatus. The input to thedrive motor can be a discrete input such as a momentary switch whichcauses the drive mechanism to operate at a particular speed/power level.It is a also known to use a variable input which is responsive to aninput forced by the user to vary the speed of the patient-supportapparatus based on the deflection of the input.

In the case of the momentary switch type input, it is necessary for thedesigner of the drive mechanism to develop a power level which isacceptable over all ranges of use of the patient-support apparatus. Ifthe load on the patient-support apparatus is greater, the speed at whichthe drive mechanism is able to drive the patient-support apparatus islimited based on the load. However, this type of motor control isrelatively simple to employ.

In the case of the variable-type input, the motor/power control systemmust be responsive to the variable input to increase or decrease thespeed at which the drive mechanism drives the patient-support apparatus.In some cases, the variable input requires a user to push again pushhandles on the patient-support apparatus to cause the drive mechanism topropel the patient-support apparatus. As the patient-support apparatusmoves away from the user, the user must walk at a speed which matchesthe desired speed of the patient-support apparatus in order to maintaina constant input into the variable-type input. Variations in the speedof the user as compared to the patient-support apparatus tend to causethe user to have difficulty in maintaining a constant input to thevariable-type input, thereby causing variations in to the input of thecontrol system and may cause the patient-support apparatus to lurch whenthe variable input is erratically applied by the user.

SUMMARY OF THE INVENTION

The present disclosure comprises one or more of the features recited inthe appended claims and/or the following features which, alone or in anycombination, may comprise patentable subject matter:

A patient-support apparatus comprises a frame, a drive mechanism coupledto the frame and configured to move the patient-support apparatus acrossthe floor. The drive mechanism includes a drive wheel and a motor todrive the wheel. The patient-support apparatus further comprises acontroller coupled to the drive motor and a user input coupled to thecontroller. The user input is configured to provide an input indicativeof the speed and direction a user wishes to move the patient-supportapparatus.

In some embodiments, the controller includes a processor and a memorydevice including instructions that, when executed by the processormonitor the user input device to determine a speed input request from auser. The instructions may also determine the desired direction of themovement of the patient-support apparatus across the floor. Theinstructions may also normalize the speed input request to adjust forload cell responses. If the normalized speed input request exceeds athreshold value the instructions may calculate an effective speed inputvalue by evaluating a current speed input request and a previous speedoutput value. The instructions may apply a speed transfer function tothe effective input to determine a current raw speed output value. Theinstructions may then scale the current raw speed output value based onthe direction of desired movement. Once the scaled speed is determined,the instructions may weigh the current scaled speed output with theprevious speed output value to determine a current speed output value totransmit to the motor.

In some embodiments, the drive mechanism further includes a motorcontroller configured to receive the current speed output value and topower the motor based on the current speed output value. In someembodiments, the memory device further includes instructions thatnormalize the speed input request based on the direction of travel ofthe patient-support apparatus.

In some embodiments, the memory device further includes instructionsthat normalize the speed input based on the value of the speed inputrequest compared to a value of a previous speed input request. In someembodiments, the memory device further includes instructions thatnormalize the speed input based on the value of the speed input requestas compared to a condition in which there is no speed input request. Insome embodiments, the memory device further includes instructions thatapply a strain gage constant to normalize the speed value request.

In some embodiments, the speed transfer function may vary over time. Insome embodiments, the speed transfer function is calculated based on thenormalized speed input request and a previous speed output value. Insome embodiments, the memory device further includes instructions thatvary the speed transfer function if the normalized input exceeds atransfer function change threshold.

In some embodiments, the scaling of the speed is based on the intendeduse environment of the particular patient-support apparatus. In someembodiments, the weighting of the current scaled output speed valuedecreases as the value of the previous speed output value increases.

In some embodiments, the user input device comprises a load cell. Insome embodiments, the user input device comprises a plurality of loadcells. In some embodiments, the load cell is deflected by a push handle.In some embodiments, the user input device comprises an enable switch.In some embodiments, the ratio of the weighting of the current scaledoutput speed value to the value of the previous speed output valuevaries from 1:5 to 1:13. In some embodiments, the motor is a DC motor.

In another aspect of the present disclosure, a method of controlling thespeed and direction of travel of a self-propelled patient-supportapparatus includes a variable user input configure to receive a userinput indicative of the direction and speed of travel, comprises themethod steps of monitoring the user input device to determine a speedinput request from a user, and providing a speed output value. Themethod may further comprise the step of determining the desireddirection of the movement of the patient-support apparatus.

The method may further comprise the step of normalizing the speed inputrequest.

The method may further comprise the step of comparing the normalizedspeed input request to a threshold value.

The method may further comprise the step of calculating an effectivespeed input value by evaluating a current speed input request and aprevious speed output value.

The method may further comprise the step of applying a speed transferfunction to the effective input to determine a current raw speed outputvalue

The method may further comprise the step of scaling the current rawspeed output value based on the direction of desired movement

The method may further comprise the step of weighting the current scaledspeed output with the previous speed output value to determine a currentspeed output value to transmit to the motor.

Additional features, which alone or in combination with any otherfeature(s), including those listed above and those listed in the claims,may comprise patentable subject matter and will become apparent to thoseskilled in the art upon consideration of the following detaileddescription of illustrative embodiments exemplifying the best mode ofcarrying out the invention as presently perceived.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description particularly refers to the accompanying figuresin which:

FIG. 1 is a partial perspective view of a self-propelled stretcherincluding a drive mechanism employing an algorithm for power drive speedcontrol according to the present disclosure;

FIG. 2 is a partial perspective side view of the stretcher of FIG. 1,the stretcher having a deployable drive mechanism located under a lowerbase shroud of the stretcher;

FIG. 3 is a block diagram of the control system of the stretcher of FIG.1;

FIG. 4 is an enlarged view of an input handle of the stretcher shown inFIG. 1;

FIG. 5 is a block diagram of a user interface assembly of the stretcherof FIG. 1;

FIGS. 6-7 is a flow chart of the control algorithm used in determiningthe drive speed of the stretcher of FIG. 1;

FIG. 8 is a graph of a normalization curve applied to user inputsaccording to the present disclosure; and

FIG. 9 is a graphical representation of the operation of the controlsystem of the present disclosure.

DETAILED DESCRIPTION OF THE DRAWINGS

As shown in FIGS. 1-2 and 4, a patient support apparatus 10,illustratively embodied as a stretcher, includes a frame 12 which has anupper frame 14 and a base frame or lower frame 16 (best seen in FIG. 2).The lower frame 16 supports two elevation adjustment mechanisms 18 thatare operable to raise, lower, and tilt upper frame 14 relative to thelower frame 16. A patient support 20, such an articulating deck, iscoupled to upper frame 14. A mattress 22 is carried by patient support20. A plurality of casters (not shown) are coupled to base frame 16 andare in contact with the underlying floor. The casters include brakingmechanisms (not shown) which are well known in the art and apparatus 10has a set of brake/steer pedals 21 which are movable to brake andunbrake the casters via manipulation of the associated caster brakingmechanisms. The apparatus 10 has a head end 152, a foot end 154, a leftside 156, a right side 158, a longitudinal axis 160, and a transverse orlateral axis 162 as shown in FIG. 2.

Referring now to FIG. 2, a drive mechanism 24 is coupled to base frame16 and includes a wheel 26 that is motor driven to propel apparatus 10along a floor. In one embodiment, device 24 is of the type availablefrom Borringia Industries AG of Ettingen, Switzerland, one version ofwhich is marketed as the COMPASS™ drive. Such a device 24, therefore,may be constructed in accordance with the teachings of PCT PatentApplication No. PCT Publication No. WO 2006/059200 A2 which is herebyincorporated by reference herein and which has a motor driven wheel 26that can be raised out of contract with the floor, lowered into contactwith the floor, and swiveled by ninety degrees between a firstorientation in which apparatus 10 is propelled in the longitudinaldirection (i.e., parallel with the longitudinal or long dimension 160 offrame 12) and a second orientation in which apparatus 10 is propelledside-to-side or in the lateral direction (i.e., parallel with thelateral or short dimension 162 of frame 12).

An electrical system 28 of apparatus 10 shown in FIG. 3, includes acontroller 30 and an optional main power switch 32. The electricalsystem 28 also includes one or more user interfaces 34 and a powersupply 36. The electrical system 28 also includes raise/lower actuator38, a swivel actuator 40, and a drive motor 42 which are all housed inthe drive mechanism 24. The electrical system 28 further includes acaster brake position sensor 44. The various components of theelectrical system 28 are coupled to the controller 30. Controller 30comprises logic-based circuitry such as a microprocessor, amicrocontroller, a field programmable gate array, or even discrete logicgates or the like, along with all associated circuitry such as memory,analog-to-digital converters, digital-to-analog converters, input/outputcircuitry and so on. The circuitry of controller 30 may be located on aplurality of circuit boards or be included in various modules thatcouple together. For example, controller 30 may include a logiccontroller portion which receives input signals regarding variousconditions of apparatus 10 and a drive controller portion that iscoupled to the logic controller portion and that controls voltage and/orcurrent application to motor 42 and actuators 38, 40 of system 28 inresponse to an output signal received from the logic controller portion.In those embodiments having main power switch 32, switch 32 is used toturn the transport device 24 on and off. In those embodiments withoutmain power switch 32, then transport device may be on continually,although the system may power down into a sleep mode after a period ofinactivity. In some embodiments, when off or when in the sleep mode,transport device 24 may have wheel 26 in a raised position spaced fromthe underlying floor.

As shown in FIG. 4, the one or more user interfaces 34 include userinputs, as will be further described below, that are engaged by a userto signal controller 30 as to the manner in which transport device 24 isto be operated. Power supply 36 comprises a battery, battery rechargingcircuitry, an AC power cord 35 having an AC power plug 37, AC-to-DCconversion circuitry and other circuit components involved in poweringthe remainder of system 28. Actuator 38 is operable in response tocommand signals from controller 30 to raise wheel 26 off of theunderlying floor and to lower wheel 26 into contact with the floor.Actuator 40 is operable in response to command signals from controller30 to swivel wheel 26 between the first and second orientations. Drivemotor 42 is operable in response to command signals from controller 30to rotate wheel 26 thereby to propel apparatus 10 along the floor.

Assuming controller 30 receives signals from user interface 34indicating that a user desires powered transport of apparatus 10,controller 30 determines whether other conditions are met prior toactivating motor 42 to drive wheel 26. For example, controller 30 mayfirst determine that battery power of power supply 36 meets or exceeds athreshold level and may also determine whether the casters are unbrakedbefore applying power to drive motor 42 to rotate wheel 26. A casterbrake position sensor 45 provides a signal to controller regardingwhether casters are braked or unbraked. Contrary to the teachings of allknown prior art patient support apparatuses that have powered transportsystems and that have AC power plugs, controller 30 does not requirethat the power plug of power supply 36 of apparatus 10 be unpluggedprior to applying power to drive motor 42 to rotate wheel 26 to propelapparatus 10 along the floor. This creates the possibility thatapparatus 10 can be power driven with the power plug still plugged intoan electrical outlet resulting in the power plug being ripped out of theelectrical outlet as apparatus 10 is driven away. However, by allowingmotor 42 to be driven even when the AC power plug is plugged into anelectrical outlet, drive mechanism 24 can be used to make minoradjustments in the positioning of apparatus within its location. This isespecially useful when obese or morbidly obese (also known as,bariatric) patients are supported on apparatus 10.

User interface 34 at the head end of apparatus 10 includes a pair offirst switches 44, shown in FIGS. 1 and 4, that extend from distal ends46 of hand grip portions 48 of respective push handles 50 that arecoupled to upper frame 14. Switches 44 must be activated to enable thedrive mechanism 24 to operate to drive the motor 42. User interface 34at the head end of apparatus 10 further includes a load cell 52 that issituated within an interior region of the associated push handle 50 asis known in the art.

A user applies a force to handle 48 by pushing on the handle 48 in thedirection of arrow 170 or pulling on the handle in the direction ofarrow 172. Load cell 52 is fixed to frame 14. Movement of handle 50 actson load cell 52 causing deflection of load cell 52 which is sensed by astrain gage in load cell 52, as is well known in the art.

Controller 30 controls the operation of drive motor 42 under softwarecontrol. A control routine 100 shown in FIGS. 6-7 represents anillustrative approach in which the input force applied to a userinterface 34 is considered in deter-mining the speed at which drivemotor 42 is driven to propel the stretcher 10 along the floor. Theoperation of the software control is shown in a generalized form in FIG.9. In a generalized embodiment 210, the control system receives a userinput force at step 200. The user input force is applied to transferfunction at step 202. The transfer function is used to calculate a speedat step 204. The speed calculated is output as a signal to the motor atstep 206. The speed calculation at step 204 is fed back to the transferfunction at step 202 such that the transfer function is a function ofthe previous speed calculation.

More specifically, a force applied to handle 48 of user interface 34 inthe direction of arrow 170 acts on a load cell. The analog signal fromthe load cell 52 is processed by an analog-to-digital (A/D) converterwithin controller 30 and converted to a digital signal having a range ofcounts between 0 and a Full Range. In the illustrative embodiment, theA/D is an 8-bit device with a Full Range value of 255. For the remainderof this disclosure, the terms Full Range, Half Range, and Quarter Rangewill be used as generalizations to describe the operation of algorithmsused to determine an output speed value which is output to the motor 42to establish the motor 42 speed. It should be understood that otherdevices which have greater or lesser ranges may be employed depending onthe application and the appropriate counts may be substituted. At a HalfRange count in the illustrative embodiment, the load cell 52 is at asteady state condition in which no force is being applied and load cell52 is undeflected. If a force is applied to handle 48 in the directionof arrow 172, the A/D signal will be between 0 and Half Range countswith the maximum force sensed corresponding to 0 counts. While a greaterforce may be applied, 0 counts corresponds tot the maximum value sensedby the load cell 52. The maximum force in the direction of arrow 170results in Full Range counts.

The value of the deflection of the load cell 52 is received as an inputat step 102 of control routine 100 at step 104. A comparison is madebetween the current load cell 52 reading and the most recent reading todetermine the direction of application of the force applied, denoted asF_(input). As used in the remainder of this disclosure, F_(input) is adigital count which corresponds the deflection of the load cell 52.F_(input) will always be a whole number from 0 up to Full Range. IfF_(input) are is a forwardly applied force, i.e. in the direction ofarrow 170, then control routine 100 advances to step 106. The directionof F_(input) is determined to be forward if the most recent value ofF_(input(n-1)) was forward and F_(input(n)) is now greater than or equalto the previous value of F_(input(n-1)). Also, the direction ofF_(input(n)) is determined to be forward if the current value ofF_(input(n)) is greater than the previous value, F_(input(n-1)). Thus,while a reading may be less than Half Range counts, a user may beapplying force in the direction of arrow 170. Stated another way, if theuser has been pulling on the handle in the direction arrow 172, butreduces the force at which handle 48 is being pulled, control routine100 will determine that the direction of the force applied, F_(input),is forward. Similarly, if the direction of F_(input) has been in reverseF_(input(n)) will be determined to continue to be reverse ifF_(input(n)) is less than F_(input(n-1)). At step 106, F_(input) isnormalized according to Equation 1.

F _(normalized)=(F _(input)*Full Range)/F _(SG)  (1)

In Eq. 1, F_(normalized) is the normalized forward force which isdetermined by taking the counts of the force read by the load cell 52,F_(input) multiplied by Full Range of the load cell 52 and dividing thatvalue by a strain gauge normalization constant, F_(SG), for the forwarddirection. In the illustrative embodiment, F_(SG) is equal to 207. Itshould be understood that F_(SG) may be set to any of a number of valuesdepending on the response characteristics of the system including theload cell 52.

If it is determined that F_(input) is being applied in a reversedirection at step 104, then the control routine 100 makes an additionaldetermination as to which direction the F_(input) is applied relative tothe baseline of Half Range counts at step 110. If the reading ofF_(input) is greater than Half Range counts, F_(normalized) iscalculated at step 112 of control routine 100 according to Equation 2.

F _(normalized)=[Full Range*(F _(input)−Half Range)]/R _(SG2)  (2)

In Eq. 2, F_(normalized) has a gain applied based on the deviation ofF_(input) from the baseline of Half Range counts. In the illustrativeembodiment a strain gauge normalization constant for the reversedirection, R_(SG2) is equal to 207. F_(input) is measured relative tothe baseline and determined to be less than the baseline, therebyindicating that the user is applying F_(input) in the direction oppositearrow 170 with sufficient force to indicate that the user is attemptingto cause the patient-support apparatus 10 to travel in a reversedirection.

If it is determined at decision step 110 that F_(input) is in adirection opposite arrow 170 but that the F_(input) is not below HalfRange counts then F_(normalized) is calculated according to Equation 3at step 114.

F _(normalized)=(Half Range*(Half Range−F _(input)))/(R _(SG1)+HalfRange)  (3)

By applying Equation 3, control routine 100 addresses a condition inwhich the user is attempting to slow the forward speed of thepatient-support apparatus 10, but has not yet applied sufficient forceto indicate a need to reverse the direction of the patient-supportapparatus 10. In the illustrative embodiment a second strain gaugenormalization constant for the reverse direction, R_(SG1) is set to avalue of 81.

Once a value of F_(normalized) has been established, the value ofF_(normalized) is compared to a threshold of Quarter Range counts atstep 108. If F_(normalized) is less than or equal to Quarter Rangecounts, then control routine 100 sets a variable called temp to a valueof 0 at step 116. The variable temp is used to calculate a zeroreference force, F_(zero ref), which is used to establish a proportionalresponse to F_(input). As will be described in further detail below, theproportional response changes as F_(input) increases in magnitude suchthat the system is more responsive to incremental changes in F_(input)at higher absolute values of F_(input). A graph of the relationshipbetween F_(normalized) and F_(input) is shown in FIG. 8.

If F_(normalized) is greater than Quarter Range counts, then temp iscalculated at step 118 using Equation 4 which establishes a factorapplied to the last output of control routine 100, Spd_(out previous),when calculating the value of F_(zero ref) in Equation 5.

temp=(((F _(normalized)−Quarter Range)*Quarter Range)/(FullRange−Quarter Range))  (4)

Once temp is determined, the value of F_(zeroref) is calculated at step120. F_(zeroref) is dependent on both F_(normalized) and the previousoutput of control routine 100, Spd_(outprevious) thereby making thecalculation of the output of control routine 100 dependent on theprevious output of control routine 100 as depicted in FIG. 9. Therelationship between the previous output of control routine 100 isrepresented in Equations 5-8.

F _(zeroref)=(Half Range−((temp×Spd _(outprevious)))/K _(SG)  (5)

At step 122, control routine 100 determines an effective force appliedby the user by applying Equation 6. In Equation 6, the effective forcerepresented by F_(eff) is calculated by subtracting the zero referenceforce, F_(zeroref), from the normalized input force, F_(normalized), andmultiplying the difference by a ratio of 4/3. The application ofF_(zeroref) helps to vary the responsiveness of the control routine 100depending on the speed output value the system is operating under. Thereis a need to vary the responsiveness based on the speed at which thepatient-support apparatus 10 is apparently moving as the user has tocoordinate the force applied with the relative movement between the userand the patient-support apparatus 10.

F _(eff)=(4/3)×(F _(normalized) −F _(zero ref))  (6)

A preliminary speed output value, Spd_(current), is determined based ona speed transfer function ƒ_(Spd)(t_(n)) at step 132. The speed transferfunction ƒ_(Spd)(t_(n)) may be adjusted if the F_(normalized) is greateror less than a speed transfer change threshold. If F_(normalized) ispersistently greater than the speed transfer change threshold, thenƒ_(Spd)(t_(n)) will continued to be adjusted making the controller moreresponsive. If ƒ_(Spd)(t_(n)), drops below the threshold, thenƒ_(Spd)(t_(n)) will be adjusted down to the initial condition asdescribed below.

The speed transfer change threshold is compared to the F_(normalized)value at step 124 of control routine 100. In the illustrativeembodiment, the speed transfer function change threshold is set to 235counts. It should be understood that the speed transfer change thresholdmay be set to any of a number of values of depending on the useconditions. If F_(normalized) does not exceed the transfer changethreshold, then a value of a speed transfer function counter,Counter_(TF) is evaluated at step 125. If Counter_(TF) is equal to zero,then an initial speed transfer function value is applied at step 129. Inthe illustrative embodiment, ƒ_(Spd)(t₁) is set to a value of 55 in boththe forward and reverse directions.

If F_(normalized) exceeds the threshold, transfer function counter,Counter_(TF), is incremented and the speed transfer function,ƒ_(Spd)(t_(n)), is calculated according to Equation 7. If F_(normalized)does not exceed the threshold, speed threshold counter, Counter_(TF), isdecremented and the current speed transfer function, ƒ_(Spd)(t_(n)) iscalculated at step 130 according to Equation 7.

ƒ_(Spd)(t _(n))=((ƒ_(Spd)(t ₁)+(100−ƒ_(Spd)(t₁)))*(Counter_(TF)−10))/(Count Change_(max)−10)  (7)

In Equation 7 ƒ_(Spd)(t₁) is an initial speed transfer function value,Counter_(TF) is the current value of a speed transfer function counter,and Count Change_(max) is the maximum the speed transfer functioncounter changes. In the illustrative embodiment, in either the forwardor reverse direction, the maximum that the Counter_(TF) will change is70 counts. In the illustrative embodiment, control routine 100 is calledevery 10 milliseconds. In the illustrative embodiment, if theCounter_(TF) is being incremented, it increments by 1 count once every10 cycles through the control routine. Similarly, in the illustrativeembodiment, if the Counter_(TF) is being decremented, it decrements by 1count every cycle. In this way, the speed transfer function is moreresponsive to decreases in value of F_(input) input and less responsiveto increases.

Once the current speed transfer function, ƒ_(Spd)(t_(n)), is calculated,the current speed request, Spd_(current), is calculated by multiplyingthe speed transfer function, ƒ_(Spd)(t_(n)), by the effective appliedforce, F_(eff), at step 132 of control routine 100. Step 132 appliesEquation 8 shown below.

Spd _(current)=ƒ_(Spd)(t _(n))×F _(eff)  (8)

Up to step 132, control routine 100 has filtered and compensated theinput signal from the load cell 52 in the form of F_(input) to determinethe Spd_(current) to be output to the motor. However, it has beendetermined that the actual output to the motor 42 should be scaled basedon the direction of travel and certain performance characteristics ofthe device 24. For example, while the full scale reverse speed shouldnot have the same magnitude as the full scale forward speed because auser cannot walk backwardly as fast as forwardly. In addition, a scalingfactor provides for various top end speeds depending on the applicationin which a particular patient-support apparatus may be used. Apatient-support apparatus which is used primarily for transport such asa stretcher, for example, may be scaled to have a higher forward speed.A patient-support apparatus used primarily for an acutely ill patientsuch as a critical care bed, for example, may be scaled to have arelatively low forward speed. The scale factors Max_(forward) andMax_(reverse) are programmable factors within the control routine 100which may be used to scale the response of the motor to the F_(input)based on the use environment in which the patient-support apparatus isconfigured to operate. If the F_(input) is in forward, the scaled speed,Spd_(scaled), is calculated at step 134 according to Equation 9. If theF_(input) is in reverse, then the scaled speed, Spd_(scaled), iscalculated according to Equation 10.

Spd _(scaled)=Max_(forward) *Spd _(current)  (9)

Spd _(scaled)=Max_(reverse) *Spd _(current)  (10)

While the calculation of the scaled speed, Spd_(scaled), is effective tolimit the maximum range of the speed output value, the response of thecontrol routine 100 to changes in speed varies as the speed changes. Forexample, as the speed output value, Spd_(out previous), increases, theweighting of the new speed is reduced so that larger proportions of theprevious speed output value, Spd_(out previous), are weighted into thecalculation of a new speed output value, Spd_(out current).Spd_(out current) is calculated according to Equation 11 at step 136with the value of two weighting factors, Weight_(new speed) andWeight_(Old Speed) varying depending on the value of Spd_(out current).

Spd _(out current)=(Weight_(new speed) *Spd_(scaled))+(Weight_(Old Speed) *Spd _(out previous))  (11)

In all cases, the proportion of Weight_(new speed) and the proportion ofWeight_(Old Speed) sum to a value of 1. At lower values ofSpd_(out current) the ratio of Weight_(new speed) to Weight_(Old Speed)may be 1:5 in the illustrative embodiment. At the highest value ofSpd_(out current), the ratio may be as small as 1:13. The weighting ofthe new speed to the old speed tends to dampen the response to changesin speed so that the system does not over-respond to user inputs becausethe user and patient-support apparatus 10 are both moving.

Although certain illustrative embodiments have been described in detailabove, variations and modifications exist within the scope and spirit ofthis disclosure as described and as defined in the following claims.

1. A control system for a self-propelled patient-support apparatuscomprising a user input device, a motor for driving a wheel, and acontroller including a processor and a memory device includinginstructions that, when executed by the processor, (i) monitor the userinput device to determine a speed input request from a user, (ii)determine the desired direction of the movement of the patient-supportapparatus across the floor, (iii) normalize the speed input request,(iv) compare the normalized speed input request to a threshold value,(v) calculate an effective speed input value by evaluating a currentspeed input request and a previous speed output value, (vi) apply aspeed transfer function to the effective input to determine a currentraw speed output value, (vii) scale the current raw speed output valuebased on the direction of desired movement, (viii) weight the currentscaled speed output with the previous speed output value to determine acurrent speed output value to transmit to the motor.
 2. The controlsystem of claim 1, wherein the memory device further includesinstructions that normalize the speed input request based on thedirection of travel of the patient-support apparatus.
 3. The controlsystem of claim 1, wherein the memory device further includesinstructions that normalize the speed input based on the value of thespeed input request compared to a value of a previous speed inputrequest.
 4. The control system of claim 1, wherein the memory devicefurther includes instructions that normalize the speed input based onthe value of the speed input request as compared to a condition in whichthere is no speed input request.
 5. The control system of claim 1,wherein the memory device further includes instructions that apply astrain gage constant to normalize the speed value request.
 6. Thecontrol system of claim 1, wherein the speed transfer function may varyover time.
 7. The control system of claim 1, wherein the speed transferfunction is calculated based on the normalized speed input request and aprevious speed output value.
 8. The control system of claim 1, whereinthe memory device further includes instructions that (ix) vary the speedtransfer function if the normalized input exceeds a transfer functionchange threshold.
 9. The control system of claim 1, wherein the scalingof the speed is based on the intended use environment of the particularpatient-support apparatus.
 10. The control system of claim 1, whereinthe weighting of the current scaled output speed value decreases as thevalue of the previous speed output value increases.
 11. The controlsystem of claim 1, wherein the user input device comprises a load cell.12. The control system of claim 1, wherein the user input devicecomprises an enable switch.
 13. A patient-support apparatus comprising aframe, a drive mechanism coupled to the frame and configured to move thepatient-support apparatus across the floor, the drive mechanismincluding a drive wheel and a motor to drive the wheel, a controllercoupled to the drive motor, and a user input coupled to the controllerand configured to provide an input indicative of the speed and directiona user wishes to move the patient-support apparatus, wherein thecontroller includes a processor and a memory device includinginstructions that, when executed by the processor, (i) monitor the userinput device to determine a speed input request from a user, (ii)determine the desired direction of the movement of the patient-supportapparatus across the floor, (iii) normalize the speed input request,(iv) compare the normalized speed input request to a threshold value,(v) calculate an effective speed input value by evaluating a currentspeed input request and a previous speed output value, (vi) apply aspeed transfer function to the effective input to determine a currentraw speed output value, (vii) scale the current raw speed output valuebased on the direction of desired movement, (viii) weight the currentscaled speed output with the previous speed output value to determine acurrent speed output value to transmit to the motor.
 14. Thepatient-support apparatus of claim 13, wherein the drive mechanismfurther includes a motor controller configured to receive the currentspeed output value and to power the motor based on the current speedoutput value.
 15. A method of controlling the speed and direction oftravel of a self-propelled patient-support apparatus including avariable user input configure to receive a user input indicative of thedirection and speed of travel, the method comprising the steps ofmonitoring the user input device to determine a speed input request froma user, determining the desired direction of the movement of thepatient-support apparatus, normalizing the speed input request,comparing the normalized speed input request to a threshold value,calculating an effective speed input value by evaluating a current speedinput request and a previous speed output value, applying a speedtransfer function to the effective input to determine a current rawspeed output value, scaling the current raw speed output value based onthe direction of desired movement, and weighting the current scaledspeed output with the previous speed output value to determine a currentspeed output value to transmit to the motor.
 16. The method of claim 15,wherein the weighting of the current scaled output speed value decreasesas the value of the previous speed output value increases.
 17. Themethod of claim 15, wherein the step of applying a speed transferfunction applies a speed transfer function that varies based on thenormalized speed input request and the value of a previous speed outputvalue.
 18. The method of claim 15, wherein the step of normalizing thespeed input normalizes the speed input based on the value of the speedinput request and the value of a previous speed input request.
 19. Themethod of claim 15, wherein the step of normalizing the speed inputnormalizes the speed input based on the value of the speed input requestcompared to a condition in which there is no speed input request. 20.The method of claim 15, wherein the step of normalizing the speed inputnormalizes the speed input based on a strain gage constant.
 21. Themethod of claim 20, wherein the strain gage constant varies depending onthe determined desired direction of movement of the patient-supportapparatus.